/*
日志消息类----输出时间 日志等级 源文件名称 源代码行号 线程id 日志主体消息 日志器名称
*/
#ifndef __M_MSG_H__
#define __M_MSG_H__

#include <iostream>
#include <string>
#include <thread>

#include "util.hpp"
#include "level.hpp"
namespace bitlog
{
    struct LogMsg
    {
        time_t _ctime; //时间戳
        LogLevel::value _level;// 日志等级
        const std::string _file;// 源文件名称
        size_t _line;//行号
        std::thread::id _tid;//线程id
        std::string _logger;// 日志器名称
        std::string _payload;// 主体消息

        LogMsg(LogLevel::value level,
                size_t line,
                const std::string file,
                const std::string logger,
                const std::string msg):

                _ctime(util::Date::now()),
                _level(level),
                _line(line),
                _tid(std::this_thread::get_id()),
                _file(file),
                _logger(logger),
                _payload(msg)
                {}
    };

}

#endif